package com.yihuan.mapper;

import com.yihuan.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Author:梦醒
 * Date: 2022/4/19 17:21
 * Dream:
 * 信言不美，美言不信。
 * 善者不辩，辩者不善。
 * 知者不博，博者不知。
 * Function:
 */
@Mapper
public interface UserMapper {
    /**
     * 根据管理员账号和密码
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserLoginNameAndUserPassword(UserEntity userEntity);
    
    /**
     * 分页查询数据
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserList(UserEntity userEntity);
    
    /**
     * 统计分页查询数据
     *
     * @return
     */
    int countUserList(UserEntity userEntity);
    
    /**
     * 模糊分页查询数据
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserConcatList(UserEntity userEntity);
    
    /**
     * 模糊统计分页查询数据
     *
     * @param userEntity
     * @return
     */
    int countUserConcatList(UserEntity userEntity);
    
    /**
     * 更改信息启用状态
     *
     * @param userEntity
     * @return
     */
    int updateUserByUserState(UserEntity userEntity);
    
    /**
     * 更改信息删除状态
     *
     * @param userEntity
     * @return
     */
    int updateUserByUserDeleteState(UserEntity userEntity);
    
    /**
     * 根据回收员和用户账号和密码
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserLoginNameAndUserPasswordAndSellerID(UserEntity userEntity);
    
    /**
     * 根据账号判断是否存在
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserLoginNameData(UserEntity userEntity);
    
    /**
     * 注册用户信息
     *
     * @param userEntity
     * @return
     */
    int insertUserByUserData(UserEntity userEntity);
    
    /**
     * 以用户编号查询
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserID(UserEntity userEntity);
    
    /**
     * 查询用户对应公司编号
     *
     * @param userEntity
     * @return
     */
    List<UserEntity> findUserByUserIDData(UserEntity userEntity);
    
    /**
     * 统计用户数据
     *
     * @return
     */
    int countUser();
}
